

#条码规则简介
# 3112201255521080362320
# 3 1 1 220 12555 2 1 08 03 6 2320
# 第19-22位:产品序号         2320 表示当天第2320台
# 第18位:车间线体            6 表示分内6线
# 第16-17位:生产地点         03 表示武汉工厂
# 第14-15位:日期             08 表示8号
# 第13位:月份                1 表示1月
# 第12位:年份                2 表示22年
# 第7-11位:产品型号代码       12555 表示对应内机编码
# 第4-6位:产品品类代码        220 丰示分体挂壁式空调
# 第3位:产品品牌代码          1 表示美的
# 第2位:产品条码种类          1 表示基准生产编码内销
# 第1位:条码版本              3 表示2017年03月版本的产品条码


def midea_tiaoma(product):
    midea_tiaoma_def = [
        ['产品序号', 19, 22],
        ['车间线体', 18],
        ['生产地点', 16, 17],
        ['日期', 14, 15],
        ['月份', 13],
        ['年份', 12],
        ['产品型号代码', 7, 11],
        ['产品品类代码', 4, 6],
        ['产品品牌代码', 3],
        ['产品条码种类', 2],
        ['条码版本', 1],
    ]
    out = {}
    for x in midea_tiaoma_def:
        if x[1]<len(product):
            if len(x)==2:
                out[x[0]] = product[x[1]-1]
            elif len(x)==3:
                out[x[0]] = product[x[1]-1:x[2]]
    
    
    aa = '123456789ABC'
    if len(product)>16:
        yuefenzhangmap = {x:f'{i+1:02d}' for i,x in enumerate(aa)}
        didian = out['生产地点']
        didian = didian[-1]
        year = out['年份']
        yuefen = out['月份']
        if len(year)==1:
            year = '2' + year
        bb = didian + year + yuefenzhangmap[yuefen]
        out['月份章'] = bb

    return out

#print(midea_tiaoma('3112201255521080362320'))
print(midea_tiaoma('5182239694033150341118'))
print(midea_tiaoma('5132226003539080390145'))
